package com.xd.core.finance.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * <p>
 * 预存款交易记录分页查询返回vo
 * </p>
 *
 * @author ZCH
 * @since 2025-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RechargeAndRefundQueryVo {
    @ApiModelProperty(value = "交易时间")
    @ExcelProperty(value = "交易时间")
    @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    @DateTimeFormat("yyyy-MM-dd")
    private String transTime;

    @ApiModelProperty(value = "交易订单号")
    @ExcelProperty(value = "交易单号")
    private String orderNo;

    @ApiModelProperty(value = "交易金额")
    @ExcelProperty(value = "交易金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "交易类型（1-预存款账户到放款账户,2-放款账户到预存款账户，3-回款账户到收益账户）")
    @ExcelProperty(value = "交易类型")
    private String type;

    @ApiModelProperty(value = "交易状态（1-退款中，2退款失败，3-退款成功）")
    @ExcelIgnore
    private String status;

    @ApiModelProperty(value = "交易状态（1-退款中，2退款失败，3-退款成功）")
    @ExcelProperty(value = "交易状态")
    private String statusRemark;

    @ApiModelProperty(value = "债权方机构名称")
    @ExcelProperty(value = "债权方机构名称")
    private String companyName;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String remark;
}
